package com.camundademo.config;


import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.util.Date;

/**
 * 配置WebMvcConfigurer
 */
@Configuration
public class WebConfig implements WebMvcConfigurer {

    /**
     * 日期时间的pattern 没有配置使 使用DateUtil.parse(source)尝试匹配
     */
    @Value(value = "${spring.jackson.date-format}")
    private String pattern;

    @Override
    public void addFormatters(FormatterRegistry registry) {
        //添加String >>>Date 的转换器 供参数使用 springboot没提供默认的转换器
        registry.addConverter(String.class, Date.class, source -> StrUtil.isBlank(pattern) ? DateUtil.parse(source) : DateUtil.parse(source, pattern));
    }
}
